package ch.sysventory.service;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import ch.sysventory.builder.ScannPC;

import com.thoughtworks.xstream.XStream;

public class PCScannMappingXML {
	
	private static final String XML_PROCESSING_INSTRUCTION = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
	private XStream xstream;
	private File file;
	private File fileDirectory;
	

	public PCScannMappingXML() {

		// Erstellt den Pfad und den neuen Ordner
		createDirectory();
		// Erstellt die File
		String filename = ScannPC.readSID();
		file = new File("C:\\SysVentory\\"+filename+".xml");
		

		xstream = new XStream();
		xstream.autodetectAnnotations(true);
	}

	
	/**
	 * Erhält Objekte welche die die gewünschte Informationen gespeichert haben
	 * 
	 * Danach werden diese Objekte zerlegt und in einer XML File gespeichert
	 * 
	 * @param obj
	 * @param obj2
	 * @throws IOException
	 */
	public void objectToXML(Object pcResults) throws IOException {

		String xml = xstream.toXML(pcResults);
		BufferedWriter out = new BufferedWriter(new FileWriter(file));
		out.write(XML_PROCESSING_INSTRUCTION);
		out.write(xml);
		out.close();

		//Wird genutzt um zu Entwickeln
		System.out.println(xml);

	}
	
	
	/**
	 * Erstellt einen neuen Ordner
	 */
	public void createDirectory() {

		fileDirectory = new File("C:\\SysVentory");
		fileDirectory.mkdir();

	}
}
